// 上面这个代码处理过度动画（默认加上不用管）
document.addEventListener('DOMContentLoaded', () => {
  setTimeout(() => {
    document.body.classList.add('sidenav-pinned')
    document.body.classList.add('ready')
  }, 200)
})

//配置axios基地址
axios.defaults.baseURL = 'http://ajax-api.itheima.net'

//配置axios请求拦截器
//作用：请求之前可以对本次请求做一些前置处理
//执行：会在axios()方法后被调用，请求发起前，执行
//场景：可以统一携带一些参数
// 添加请求拦截器
axios.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  //要统一携带请求头
  let token = localStorage.getItem('user-token')
  if (token) {
    config.headers.Authorization = token
  }
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

//配置axios响应拦截器
//作用：响应后来做一些处理
//执行：请求发起后，响应回来后，执行
//场景：例如统一判断401问题，把axios结果对象剥离一层data
// 添加响应拦截器
axios.interceptors.response.use(function (response) {
  //当http状态码为2xx,3xx,进入这里
  // 对响应数据做点什么
  //response就是axios封装的结果对象
  return response;
}, function (error) {
  //当http状态码为4xx,进入这里
  // 对响应错误做点什么
  if(error.response.status === 401){
    //被动退出登录
    localStorage.clear()
    location.href = './login.html'
  }
  return Promise.reject(error);
});